package com.deng.api.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 投递简历人员表
 * </p>
 *
 * @author deng
 * @since 2022-08-10
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("cloud_recruit")
@ApiModel(value = "CloudRecruit对象", description = "投递简历人员表")
public class CloudRecruit implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("公司id")
    private Integer companyId;

    @ApiModelProperty("年龄")
    private Integer age;

    @ApiModelProperty("性别")
    private String sex;

    @ApiModelProperty("联系电话")
    private String phone;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("QQ号")
    private String qq;

    @ApiModelProperty("微信")
    private String weixin;

    @ApiModelProperty("专业")
    private String major;

    @ApiModelProperty("学历(1小学，2初中，3高中，4大专，5本科，6硕士，7博士）")
    private Integer degree;

    @ApiModelProperty("城市")
    private Integer cityId;

    @ApiModelProperty("来源类型（1简历，2广告）")
    private Integer sourceType;

    @ApiModelProperty("渠道id")
    private Integer channelId;

    @ApiModelProperty("来源")
    private Integer sourceId;

    @ApiModelProperty("招聘岗位")
    private String jobs;

    @ApiModelProperty("优先级（1低，2中低，3中，4较高，5高）")
    private Integer priority;

    @ApiModelProperty("跟踪次数")
    private Integer tailNum;

    @ApiModelProperty("产品")
    private Integer productId;

    @ApiModelProperty("进展状态")
    private Integer progressState;

    @ApiModelProperty("分配状态（0未分配，1已分配）")
    private Integer distributeState;

    @ApiModelProperty("分配时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime distributeTime;

    @ApiModelProperty("资源录入时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime sourceTime;

    @ApiModelProperty("跟踪时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime trackTime;

    @ApiModelProperty("下次跟踪时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime nextTrackTime;

    @ApiModelProperty("重复投递时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime repeatTime;

    @ApiModelProperty("备注")
    private String note;

    @ApiModelProperty("分配人id")
    private Integer userId;

    @ApiModelProperty("分配人名")
    private String userName;

    @ApiModelProperty("上一次人事名")
    private Integer oldUserId;

    @ApiModelProperty("是否重复投递")
    private Integer repetition;

    @ApiModelProperty("招聘点id（不是招聘点时为0）")
    private Integer pointsId;

    @ApiModelProperty("录入资源人id")
    private Integer inputId;

    @ApiModelProperty("录入人姓名")
    private String inputName;

    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty("创建人")
    private String createBy;

    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    @ApiModelProperty("更新人")
    private String updateBy;

    @ApiModelProperty("版本号")
    @Version
    private Integer version;

    @ApiModelProperty("是否删除")
    @TableLogic
    private Boolean deleted;


}
